Accéder au contenu principal Passer au contenu complémentaire

Exemples de fonctions concat

La fonction CONCAT() ne doit pas être confondue avec le mot-clé de script CONCATENATE.

Dans sa forme la plus simple, la fonction Concat() sert à chaîner ou regrouper des valeurs, des mots ou des sélections en une chaîne. Cependant, elle peut également vous permettre de résoudre différents types de problèmes. Tous les exemples font référence à la table suivante :

Example string table data
Exemple de données de table de type chaîne
Table MyColumn Date Value
Data JKL 01/01/2012 11
Data1 WVX 01/02/2012 13
Data GHI 01/03/2012 13
Data ABC 01/04/2012 15
Data1 STU 01/05/2012 18
Data1 PQR 01/06/2012 10
Data1 MNO 01/07/2012 25
Data DEF 01/08/2012 11

Concaténation de chaîne simple

Comme mentionné précédemment, la fonction concat vous permet de chaîner ensemble une liste de valeurs. Ces valeurs peuvent être codées en dur ou déterminées par des sélections ou des données.

=CONCAT(MyColumn,',')

=CONCAT(DISTINCT MyColumn,',')

Cette instruction concat simple crée une seule chaîne à partir de toutes les valeurs possibles figurant dans la colonne MyColumn. Vous pouvez également ajouter le mot-clé DISTINCT. Cela permet de garantir que chaque valeur n'apparaît qu'une seule fois dans la chaîne :

ABC,DEF,GHI,JKL,MNO,PQR,STU,VWX

Lors de l'utilisation d'une instruction concat simple, vous avez la possibilité d'ajouter à la fonction un facteur de pondération de tri afin d'ordonner les valeurs de la chaîne selon la colonne de votre choix. Dans l'exemple ci-dessous, les valeurs sont triées d'après la colonne de date qui a été ajoutée.

=CONCAT(MyColumn, ',', Date)

Résultat : Résultat : JKL,VWX,GHI,ABC,STU,PQR,MNO,DEF

Concat() au sein d'une expression d'ensemble/instruction Set

Passage de plusieurs valeurs dynamiques à une expression d'analyse d'ensembles

Certaines situations nécessitent le passage d'une sélection dynamique de valeurs à une instruction Set. Pour ce faire, vous devez ajouter des guillemets simples à la chaîne de sorte que la fonction CONCAT() renvoie, par exemple, 'JKL','VWX'. Cependant, vous ne pouvez pas conserver les guillemets tels quels, car ils seraient interprétés lors de l'évaluation de Concat au lieu de l'être lors de l'évaluation de l'expression d'ensemble. C'est pourquoi vous devez utiliser la fonction Chr() :

=CONCAT(Chr(39)&MyColumn&Chr(39),',')

Vous pouvez ensuite passer cette instruction concat à l'intérieur de l'expression :

=Sum({<MyColumn={$(=CONCAT(Chr(39)&MyColumn&Chr(39),','))}>} Value)

Dans la plupart des cas, cette technique est utilisée en présence d'îlots de données. Elle permet de passer des valeurs à une expression qui n'aura aucun effet sur le modèle de données, car la table de l'îlot de données n'y est pas jointe.

Concat() dans le script

Il est également possible d'utiliser Concat dans le script afin de convertir plusieurs lignes en une seule valeur de colonne, à l'instar de tout autre type d'agrégation.

En se référant aux données sources utilisées précédemment, le résultat du script côté CONCAT est le suivant :

ConcatExample:
Load Table,
Concat(MyColumn,',') as CombinedData
Resident Temp
Group By Table;

La table suivante résulte de cette fonction de script :

Exemple de sortie sous forme de table
Table CombinedData
Data ABC,DEF,GHI,JKL
Data1 MNO,PQR,STU,WVX

Définition avancée de Concat() à l'aide de Rank()

Lorsque vous commencez à utiliser d'autres fonctions en combinaison avec concat(), vous obtenez des résultats plus sophistiqués. Dans cet exemple, Rank() est utilisé en vue de sélectionner les trois premiers résultats (calculés d'après la valeur) et de les réunir en une seule chaîne.

=CONCAT(IF(aggr(Rank(sum(Value)),MyColumn)<=3,MyColumn),',')

Résultat : ABC,MNO,STU

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com